java

推荐列表 站点导航

当前位置:首页 > 脚本编程 > java >

spring-boot整合dubbo:Spring-boot-dubbo-starter

来源:互联网  作者:网友投稿  发布时间:2021-01-05 13:40
这篇文章主要介绍了spring-boot整合dubbo:Spring-boot-dubbo-starter的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以...

为什么要写这个小工具

如果你用过Spring-boot来提供dubbo服务,相信使用中有很多“不爽”的地方。既然使用spring boot,那么能用注解的地方绝不用xml配置,这才是spring-boot-style。开个玩笑,真正意思是,spring-boot适合一些简单的、独立的服务,一个大的系统是不适合使用spring-boot来开发。相反,spring-boot适合那些简单服务的搭建。 网上大多数的方法还是使用xml配置,通过@Import注解来引入xml配置。

怎么使用

对于服务的消费者或提供者,使用dubbo内置的注解@Service或@Reference来声明

在application.properties/yml 中配置dubbo的相关参数,例如下面就是一个简单的消费者的配置

?

1

2

3

4

5

 

dubbo:

 application:

  name: lizo-consumer

 registry:

  address: zookeeper://localhost:12181

 

在配置类上使用@EnableDubbo(basePackages = "xxx.xxx.xxx") 来开启dubbo的自动配置

经过以上3个步骤,就可以完成对dubbo的配置,是不是很Spring-bootstyle

dubbo-filter

dubbo有很多扩展,其中filter是使用比较多一个。但是用起来很不方便。如果能像Spring boot定义Spring MVC的filter那样简单声明一个bean就好了。恩,其实就是这样。

?

1

2

3

4

5

6

7

8

9

10

 

@Bean

ProviderFilter providerFilter() {

 return new ProviderFilter();

}

static class ProviderFilter extends AbstractDubboProviderFilterSupport {

 public Result invoke(Invoker<?> invoker, Invocation invocation) {

  System.out.println("ProviderFilter");

  return invoker.invoke(invocation);

 }

}

 

更定制化的需求,可以使用Dubbo的@Activate注解来定制化Filter,那么可以这样

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

 

@Bean

CustomFilter customFilter() {

 return new CustomFilter();

}

@Activate(group = Constants.PROVIDER)

static class CustomFilter extends AbstractDubboFilterSupport {

 public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {

  System.out.println("ProviderFilter2");

  return invoker.invoke(invocation);

 }

 public Filter getDefaultExtension() {

  return this;

 }

}

 

以上所述是小编给大家介绍的spring-boot整合dubbo:Spring-boot-dubbo-starter,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

相关热词:

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/java/11152.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

spring-boot整合dubbo:Spring-boot-dubbo-starter

2021-01-05 编辑:网友投稿

为什么要写这个小工具

如果你用过Spring-boot来提供dubbo服务,相信使用中有很多“不爽”的地方。既然使用spring boot,那么能用注解的地方绝不用xml配置,这才是spring-boot-style。开个玩笑,真正意思是,spring-boot适合一些简单的、独立的服务,一个大的系统是不适合使用spring-boot来开发。相反,spring-boot适合那些简单服务的搭建。 网上大多数的方法还是使用xml配置,通过@Import注解来引入xml配置。

怎么使用

对于服务的消费者或提供者,使用dubbo内置的注解@Service或@Reference来声明

在application.properties/yml 中配置dubbo的相关参数,例如下面就是一个简单的消费者的配置

?

1

2

3

4

5

 

dubbo:

 application:

  name: lizo-consumer

 registry:

  address: zookeeper://localhost:12181

 

在配置类上使用@EnableDubbo(basePackages = "xxx.xxx.xxx") 来开启dubbo的自动配置

经过以上3个步骤,就可以完成对dubbo的配置,是不是很Spring-bootstyle

dubbo-filter

dubbo有很多扩展,其中filter是使用比较多一个。但是用起来很不方便。如果能像Spring boot定义Spring MVC的filter那样简单声明一个bean就好了。恩,其实就是这样。

?

1

2

3

4

5

6

7

8

9

10

 

@Bean

ProviderFilter providerFilter() {

 return new ProviderFilter();

}

static class ProviderFilter extends AbstractDubboProviderFilterSupport {

 public Result invoke(Invoker<?> invoker, Invocation invocation) {

  System.out.println("ProviderFilter");

  return invoker.invoke(invocation);

 }

}

 

更定制化的需求,可以使用Dubbo的@Activate注解来定制化Filter,那么可以这样

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

 

@Bean

CustomFilter customFilter() {

 return new CustomFilter();

}

@Activate(group = Constants.PROVIDER)

static class CustomFilter extends AbstractDubboFilterSupport {

 public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {

  System.out.println("ProviderFilter2");

  return invoker.invoke(invocation);

 }

 public Filter getDefaultExtension() {

  return this;

 }

}

 

以上所述是小编给大家介绍的spring-boot整合dubbo:Spring-boot-dubbo-starter,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/java/11152.shtml

相关文章

风云图片

推荐阅读

返回java频道首页